See how spice project compares to other vendors in security performance
A flaw was found in spice in versions before 0.14.92. A DoS tool might make it easier for remote attackers to cause a denial of service (CPU consumption) by performing many renegotiations within a single connection.
Multiple buffer overflow vulnerabilities were found in the QUIC image decoding process of the SPICE remote display system, before spice-0.14.2-1. Both the SPICE client (spice-gtk) and server are affected by these flaws. These flaws allow a malicious client or server to send specially crafted messages that, when processed by the QUIC image compression algorithm, result in a process crash or potential code execution.
An off-by-one error was found in spice when accessing arrays. A malicious guest user can use this for a host denial of service.
A flaw was found in spice-client. An improper check on LZ images sent by the server could lead to an integer/buffer overflows on the client.
References: https://bugzilla.redhat.com/showbug.cgi?id=1594904
A vulnerability was discovered in SPICE before version 0.14.1 where the generated code used for demarshalling messages lacked sufficient bounds checks. A malicious client or server, after authentication, could send specially crafted messages to its peer which would result in a crash or, potentially, other impacts.
For authenticated client it is possible to cause buffer overflow via sending invalid monitor configurations.
Proposed patch:
https://bugzilla.redhat.com/attachment.cgi?id=1279035
Product bug:
https://bugzilla.redhat.com/showbug.cgi?id=1451021
A buffer overflow vulnerability in mainchannelallocmsgrcvbuf was found that occurs when reading large messages due to missing buffer size check.
Product bug:
https://bugzilla.redhat.com/showbug.cgi?id=1401038
A vulnerability due to improper incoming messages validation was found in spice server that leads to remote VM crash via crafted message by unauthenticated attacker.
Product bug:
https://bugzilla.redhat.com/showbug.cgi?id=1399161
The smartcard interaction in SPICE allows remote attackers to cause a denial of service (QEMU-KVM process crash) or possibly execute arbitrary code via vectors related to connecting to a guest VM, which triggers a heap-based buffer overflow.
It was found that one malicious guest inside a virtual machine can take control of the corresponding Qemu process in the host using crafted primary surface parameters. This issue is similar to CVE-2015-5261, but it's using different path in the code.
Heap-based buffer overflow in SPICE before 0.12.6 allows guest OS users to read and write to arbitrary memory locations on the host via guest QXL commands related to surface creation.
Race condition in the workerupdatemonitorsconfig function in SPICE 0.12.4 allows a remote authenticated guest user to cause a denial of service (heap-based memory corruption and QEMU-KVM crash) or possibly execute arbitrary code on the host via unspecified vectors.
Heap-based buffer overflow in SPICE before 0.12.6 allows guest OS users to cause a denial of service (heap-based memory corruption and QEMU-KVM crash) or possibly execute arbitrary code on the host via QXL commands related to the surfaceid parameter.
Stack-based buffer overflow in the redshandleticket function in server/reds.c in SPICE 0.12.0 allows remote attackers to cause a denial of service (crash) via a long password in a SPICE ticket.
Currently, both redchannelpipesaddtype() and redchannelpipesaddemptymsg() use plaing RINGFOREACH() which is not safe versus removals from the ring within the loop body. Yet, when (network) error does occur, the current item could be removed from the ring down the road and the assertion in RINGFOREACH()'s ringnext() could trip, causing the process containing the spice server to abort.
An user able to initiate spice connection to the guest could use this flaw to crash the guest.
Upstream fix: http://cgit.freedesktop.org/spice/spice/commit/?id=53488f0275d6c8a121af49f7ac817d09ce68090d
Acknowledgements:
This issue was discovered by David Gibson of Red Hat.